
// http 模块 https 模块  (协议http https)
// 1. 搭建一个自己的服务器
// 2. 爬虫 => 爬取网页数据


// 1. 搭建一个自己的服务器  (本地只能搭建http服务)

// 注意: 每次改动服务器文件需要重新重启服务(ctrl + c 关闭正在运行的程序)

var http = require("http");
var https = require("https");
// console.log(https);

// createServer => http.createServer => 用于创建服务
var { createServer } = http;

// 创建一个服务 =>  接收一个回调函数 => 每次前端(浏览器/客户端)向当前服务器发送请求时执行此回调函数
var server = createServer(function (req, res) {
    // req => request => 请求相关的信息(对象)
    // res => response => 响应相关的信息(对象)
    console.log("服务器接收前端发送请求");

    // 服务端(后端) => 如何给前端设置响应内容 (res)
    //  res.write();  可以用多次
    //  res.end() 只能用一次

    // 设置状态码 和 响应数据类型(响应头中设置)
    // text/plain   返回text或json
    // text/html
    // text/css
    // text/javascript
    // text/json
    // image/png  image/jpg  image/gif
    res.writeHead(200, {
        "Content-Type": "text/json;charset=utf-8"
    })
    // res.write("hello"); // 设置响应内容
    // res.write("<h2>你好<h2>"); // 设置响应内容 (中文默认会乱码 => 设置响应的数据类型)
    var data = { name: "zhangsan", "age": 18 }
    res.write(JSON.stringify(data)); //json字符串
    res.end(); // 响应结束  (也可以设置设置响应内容 )
});

// server.listen(port,host,callback)
// port  服务监听的端口 (可以省略不写 => http => 80   https => 443)
// host  服务监听的域名 (可以省略不写 => 默认本地主机 127.0.0.1 / localhost)
// callback  服务启动时执行的回调函数

// server.listen("127.0.0.1", "5000", function () {
//     console.log("server is start at: ");
// })
server.listen(5000, function () {
    console.log("server is start at: localhost:5000");
})





